home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #1 / Ham Radio 2000.iso / ham2000 / packet / ms_exe / vhfprop.asc < prev    next >
Encoding:
Text File  |  1990-07-01  |  8.4 KB  |  258 lines

  1.  
  2. ' VHFPROP.BAS Calculates communications range and reliability
  3. '             for VHF terrestrial communications.
  4.  
  5. 27  REM  *** PROGRAM IS BASED ON EGLI
  6. 28  REM  *** PROPAGATION MODEL DESCRIBED
  7. 29  REM  *** IN "RADIO PROPAGATION ABOVE
  8. 30  REM  *** 40 MC OVER IRREGULAR TERRAIN"
  9. 31  REM  *** BY JOHN J. EGLI
  10. 32  REM  *** PROC. IRE, OCTOBER 1957,
  11. 33  REM  *** PP 1383-1391
  12. 34  REM  ***
  13. 35  REM  *** AND FURTHER DESCRIBED AND
  14. 36  REM  *** VALIDATED IN "REVIEW OF
  15. 37  REM  *** PROPAGATION IN THE 470-
  16. 38  REM  *** 890 MHZ BAND WITH EMPHASIS
  17. 39  REM  *** ON LAND MOBILE AND CELLULAR
  18. 40  REM  *** SYSTEMS" BY F.H. PALMER,
  19. 41  REM  *** COMMUNICATIONS RESEARCH CENTRE
  20. 42  REM  *** REPORT NO. 1288, FEBRUARY 1976,
  21. 43  REM  *** OTTAWA, ONTARIO (AVAILABLE
  22. 44  REM  *** THROUGH N.T.I.S. AS N76-27450)
  23. 45  REM  ***
  24.  
  25. GOSUB TITLE
  26.  
  27. MENU:
  28. CLS
  29.  
  30.        PRINT "╔═══════════════════════════════════════════════════════════════╗"
  31.        PRINT "║        VHF TERRESTRIAL PROPAGATION - MODULE 3                 ║"
  32.        PRINT "╚═══════════════════════════════════════════════════════════════╝"
  33.  
  34. 100 PRINT
  35. 105 PRINT "CHOOSE:"
  36. 106 PRINT
  37. 110 PRINT "    1) ENGLISH MEASURE "
  38. 115 PRINT "    2) METRIC MEASURE"
  39. 120 PRINT
  40. 125 INPUT "                     ENTER CHOICE 1 OR 2: "; UNITS%
  41. 130 IF UNITS% <> 1 THEN UNITS% = 2
  42.  
  43.  
  44.  
  45. 155  PRINT
  46. 160  INPUT "ENTER FREQUENCY IN MHZ. "; F
  47. 170 IF F <= 0 THEN GOTO 160
  48. 180  REM  CALCULATE STD DEVIATION(SIGMA) OF PATH LOSS
  49. 185  REM  AND STORE AS S
  50. 190  S = (5.47 * .443429 * LOG(F)) - 3.22
  51. 195  PRINT
  52. 200 IF UNITS% = 1 THEN INPUT "ENTER TRANSMITTING ANTENNA HEIGHT (FEET): "; HT ELSE INPUT "ENTER TRANSMITTING ANTENNA HEIGHT (METERS): "; HT
  53. 202 IF UNITS% = 2 THEN HT = HT * 3.28
  54. 205 IF HT <= 0 THEN HT = 1E-09
  55. 210 PRINT
  56. 220 IF UNITS% = 1 THEN INPUT "ENTER RECEIVING ANTENNA HEIGHT (FEET): "; HR ELSE INPUT "ENTER RECEIVING ANTENNA HEIGHT (METERS): "; HR
  57. 222 IF UNITS% = 2 THEN HR = HR * 3.28
  58. 225 IF HR <= 0 THEN HR = 1E-09
  59. 230 IF HT >= 30 AND HR >= 30 THEN E = 1!
  60. 240 IF HT < 30 AND HR < 30 THEN E = 2! ELSE E = 3!
  61. 250 IF HT >= HR THEN H1 = HT: H2 = HR ELSE H1 = HR: H2 = HT
  62. 370  REM   H1 IS H(T) IN EGLI MODEL
  63. 400  REM   H2 IS H(R) IN EGLI MODEL
  64. 405  PRINT
  65. 410  PRINT "ENTER TRANSMITTER POWER OUTPUT IN WATTS: ";
  66. 420  INPUT PW
  67. 425 IF PW <= 0 THEN PW = 1E-09
  68. 430 P = 10 * (.43429 * LOG(PW / .001))
  69. 440  REM   P IS NOW STORED IN DBM, REF 1 MW/50 OHMS
  70. 445  PRINT
  71. 450  PRINT "ENTER TRANSMITTING ANTENNA GAIN IN DB ABOVE ISOTROPIC: ";
  72. 460  INPUT G1
  73. 485  PRINT
  74. 490  PRINT "ENTER TRANSMITTER TRANSMISSION LINE LOSS"
  75. 500  PRINT "IN DB FOR LENGTH ACTUALLY USED-ENTER AS POSITIVE VALUE: ";
  76. 510  INPUT L1
  77. 505  PRINT
  78. 520  PRINT "ENTER ANY ADDITIONAL LOSSES BETWEEN TRANSMITTER AND ANTENNA"
  79. 530  PRINT "SUCH AS FILTERS, DUPLEXER OR RELAY LOSSES, IN DB. "
  80. 535  PRINT "IF NONE, ENTER 0 : ";
  81. 550  INPUT A
  82. 560 L1 = L1 + A
  83. 565  PRINT
  84. 570  PRINT "ENTER RECEIVING ANTENNA GAIN IN DB ABOVE ISOTROPIC: ";
  85. 580  INPUT G2
  86. 605  PRINT
  87. 610  PRINT "ENTER RECEIVING TRANSMISSION LINE LOSS IN DB."
  88. 620  PRINT "FOR LENGTH ACTUALLY USED: ";
  89. 630  INPUT L2
  90. 635  PRINT
  91. 640  PRINT "ENTER ANY ADDITIONAL LOSSES SUCH AS FILTERS, DUPLEXERS OR"
  92. 650  PRINT "RELAY LOSSES IN DB. IF NONE , ENTER 0 :";
  93. 660  INPUT B
  94. 670 L2 = L2 + B
  95. 675  PRINT
  96. 680  PRINT "ENTER REQUIRED RECEIVED SIGNAL POWER LEVEL IN dBm"
  97. 690  PRINT "AT RECEIVER INPUT. USE A VALUE REPRESENTATIVE "
  98. 700  PRINT "OF LEVEL NEEDED FOR GOOD OPERATIONAL S/N: ";
  99. 710  INPUT RP
  100. 715 IF RP > 0 THEN GOTO 675'only input levels less than 0 dBm are allowed
  101. 720 RU = 10 ^ ((RP + 107) / 20) 'convert to microvolts/50 ohms
  102. 735 R = RU * .000001
  103. 738 IF R <= 0 THEN R = 1E-09
  104. 740 R = 10 * .43429 * LOG(((R ^ 2) / 50) / .001)
  105. 750  REM   R IS NOW STORED IN DBM
  106. 760  REM  CALCULATE ALLOWABLE MEDIAN PATH LOSS IN DB
  107. 770 Q = P + G1 - L1 + G2 - L2 - R
  108. 776  REM   ARRAY Q( ) TO START WITH 1
  109. 780 Q(1) = Q
  110. 790 Q(2) = Q - .53 * S
  111. 800 Q(3) = Q - 1.27 * S
  112. 810 Q(4) = Q - 1.65 * S
  113. 820 Q(5) = Q - 2.3 * S
  114. 830 Q(6) = Q - 3.05 * S
  115. 840  REM  ALLOWABLE PATH LOSS FOR VARIOUS RELIABILITIES CALCULATED.
  116. 850  IF E = 1! THEN 900
  117. 860  IF E = 2! THEN 1000
  118. 870  IF E = 3! THEN 1000
  119. 880  PRINT "ERROR IN PGM LINE 0880"
  120. 900  FOR I = 1 TO 6 STEP 1
  121. 910 M(I) = Q(I) - 114.8 - (20 * .4342945 * LOG(F)) + (20 * .4342945 * LOG(H1)) + (20 * .4342945 * LOG(H2))
  122. 915 MM(I) = Q(I) - 36.6 - (20 * .4342945 * LOG(F))
  123. 920 N(I) = M(I) / 40
  124. 922 NN(I) = MM(I) / 20
  125. 925  IF NN(I) < N(I) THEN N(I) = NN(I)
  126. 930 D(I) = 10 ^ N(I)
  127. 933 D(I) = INT(D(I) * 100) / 100
  128. 935  NEXT I
  129. 940  GOTO 1100
  130. 1000  FOR I = 1 TO 6 STEP 1
  131. 1010 M(I) = Q(I) - 100! - (20 * .4342945 * LOG(F)) + (20 * .4342945 * LOG(H1)) + (10 * .4342945 * LOG(H2))
  132. 1015 MM(I) = Q(I) - 36.6 - (20 * .4342945 * LOG(F))
  133. 1020 N(I) = M(I) / 40
  134. 1023 NN(I) = MM(I) / 20
  135. 1025  IF NN(I) < N(I) THEN N(I) = NN(I)
  136. 1030 D(I) = 10 ^ N(I)
  137. 1033 D(I) = INT(D(I) * 100) / 100
  138. 1035  NEXT I
  139. 1040  GOTO 1100
  140. 1100  CLS :
  141. 1102 LOCATE 1, 1
  142. 1105  PRINT "╔═══════════════════════════════════════════════════════════════╗"
  143. 1106  PRINT "║        VHF TERRESTRIAL PROPAGATION - MODULE 3                 ║"
  144. 1107  PRINT "╚═══════════════════════════════════════════════════════════════╝"
  145. 1110  PRINT
  146. 1120  PRINT USING "FREQUENCY = ###.# MHz"; F
  147. 1125  LOCATE 6, 32
  148. 1130 PRINT "TRANSMITTER      RECEIVER"
  149. 1140 LOCATE 8, 1
  150. 1142 IF UNITS% = 1 THEN PRINT "ANTENNA HEIGHT (FEET)" ELSE PRINT "ANTENNA HEIGHT (METERS)"
  151. 1144 LOCATE 8, 32
  152. 1146 IF UNITS% = 1 THEN PRINT USING "#####.#"; HT ELSE PRINT USING " ####.#"; HT * .3048
  153. 1148 LOCATE 8, 47
  154. 1150 IF UNITS% = 1 THEN PRINT USING "#####.#"; HR ELSE PRINT USING " ####.#"; HR * .3048
  155. 1152 LOCATE 9, 1
  156. 1154 PRINT "ANTENNA GAIN (dBi)"
  157. 1156 LOCATE 9, 35
  158. 1158 PRINT USING "##.#"; G1
  159. 1160 LOCATE 9, 50
  160. 1162 PRINT USING "##.#"; G2
  161. 1164 LOCATE 10, 1
  162. 1166 PRINT "LINE AND FILTER LOSS (dB)"
  163. 1168 LOCATE 10, 35
  164. 1170 PRINT USING "##.#"; L1
  165. 1172 LOCATE 10, 50
  166. 1174 PRINT USING "##.#"; L2
  167. 1176 LOCATE 11, 1
  168. 1178 PRINT "POWER OUTPUT (WATT)"
  169. 1180 LOCATE 11, 32
  170. 1182 PRINT USING "#####"; PW
  171. 1184 LOCATE 12, 1
  172. 1186 PRINT "RECEIVED SIGNAL LEVEL (dBm)"
  173. 1188 LOCATE 12, 48
  174. 1190 PRINT USING "+###.#"; RP
  175. 1192 LOCATE 14, 32
  176. 1194 PRINT "RELIABILITY"
  177. 1196 LOCATE 14, 49
  178. 1198 IF UNITS% = 1 THEN PRINT "RANGE (MILES)" ELSE PRINT "RANGE (KM)"
  179. 1200 PRINT
  180. 1210 LOCATE 16, 35
  181. 1212 PRINT "50%"
  182. 1214 LOCATE 16, 49
  183. 1216 IF UNITS% = 1 THEN PRINT USING "###.#"; D(1) ELSE PRINT USING "###.#"; D(1) * .3048
  184. 1218 LOCATE 17, 35
  185. 1220 PRINT "75%"
  186. 1222 LOCATE 17, 49
  187. 1224 IF UNITS% = 1 THEN PRINT USING "###.#"; D(2) ELSE PRINT USING "###.#"; D(2) * .3048
  188. 1226 LOCATE 18, 35
  189. 1228 PRINT "90%"
  190. 1230 LOCATE 18, 49
  191. 1232 IF UNITS% = 1 THEN PRINT USING "###.#"; D(3) ELSE PRINT USING "###.#"; D(3) * .3048
  192. 1234 LOCATE 19, 35
  193. 1236 PRINT "95%"
  194. 1238 LOCATE 19, 49
  195. 1240 IF UNITS% = 1 THEN PRINT USING "###.#"; D(4) ELSE PRINT USING "###.#"; D(4) * .3048
  196. 1242 LOCATE 20, 35
  197. 1244 PRINT "99%"
  198. 1246 LOCATE 20, 49
  199. 1248 IF UNITS% = 1 THEN PRINT USING "###.#"; D(5) ELSE PRINT USING "###.#"; D(5) * .3048
  200. 1250 LOCATE 21, 35
  201. 1252 PRINT "99.9%"
  202. 1254 LOCATE 21, 49
  203. 1256 IF UNITS% = 1 THEN PRINT USING "###.#"; D(6) ELSE PRINT USING "###.#"; D(6) * .3048
  204. 1310  LOCATE 23, 1
  205. 1330 PRINT "CHOOSE:  1) MORE CALCULATIONS    2) QUIT"
  206. 1345 LOCATE 24, 45
  207. 1350  PRINT "ENTER CHOICE (1 or 2): ";
  208. 1355  INPUT CX
  209. 1360  IF CX = 1 THEN GOTO MENU ELSE GOTO ENDING
  210.  
  211.  
  212.  
  213. ENDING:
  214.  
  215.         CLS
  216.         PRINT
  217.         LOCATE 10, 25
  218.         PRINT "≡≡≡ PROGRAM COMPLETED ≡≡≡"
  219.  
  220.         END
  221.  
  222.  
  223.  
  224. '╔═══════════════════════════════════════════════════════════╗
  225. '║             Program Authorship Notice                     ║
  226. '║             ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡                     ║
  227. '║                                                           ║
  228. '║              Jacob Z. Schanker, P.E.                      ║
  229. '║                                                           ║
  230. '║                                                           ║
  231. '║              Last revised: July 1990                      ║
  232. '║                                                           ║
  233. '╚═══════════════════════════════════════════════════════════╝
  234.  
  235. TITLE:
  236. 'opening screen for meteor burst programs
  237. CLS
  238.  
  239. LOCATE 5, 25
  240. PRINT "Supplemental Computer Programs"
  241. LOCATE 6, 38
  242. PRINT "to"
  243. LOCATE 7, 27
  244. PRINT "METEOR BURST COMMUNICATION"
  245. LOCATE 9, 38
  246. PRINT "by"
  247. LOCATE 10, 31
  248. PRINT "Jacob Z. Schanker"
  249. LOCATE 14, 24
  250. PRINT "COPYRIGHT 1990 ARTECH HOUSE, INC."
  251. LOCATE 22, 25
  252. PRINT "<< Press any key to continue >>"
  253. WHILE INKEY$ = ""
  254. WEND
  255. CLS
  256. RETURN
  257.  
  258.